C语言核心50问 · 从入门到精通
📚 共计 50 章节
01
C语言入门
发展史·特点·应用场景·GCC/VS Code搭建
环境
概述
02
第一个C程序
Hello World解析·编译运行·预处理/编译/汇编/链接
基础
流程
03
基本数据类型
整型/浮点/字符·类型大小与范围
类型
核心
04
变量与常量
定义初始化·命名规则·const·#define
变量
常量
05
输入与输出
printf/scanf·getchar/putchar·缓冲区
IO
格式化
06
运算符与表达式
算术/关系/逻辑/位/赋值/逗号运算符
运算
符号
07
流程控制(一)
if/else if/else·switch/case·三目运算符
分支
条件
08
流程控制(二)
while/do-while/for·嵌套·break/continue
循环
控制
09
数组(一)
一维数组定义·初始化·遍历·越界
数组
索引
10
数组(二)
二维数组·遍历·多维数组概念
二维
矩阵
11
字符数组与字符串
字符数组·字符串函数 strlen/strcpy/strcat/strcmp
字符串
函数
12
函数(一)
定义·声明·形参实参·return·调用过程
函数
基础
13
函数(二)
值传递/地址传递·局部/全局变量·作用域与生命周期
作用域
传递
14
函数(三)
static·递归·阶乘/斐波那契·迭代对比
递归
静态
15
指针(一)
指针概念·定义初始化·&与*运算符
指针
地址
16
指针(二)
指针与数组·指针算术运算·访问元素
指针
数组
17
指针(三)
指针数组·数组指针·多级指针·void指针
多级
void
18
指针(四)
函数指针·回调函数·指针作为参数
回调
函数指针
19
指针(五)
动态内存分配 malloc/calloc/realloc/free·内存泄漏
动态内存
堆
20
字符串与指针
字符串指针与字符数组区别·字符串常量·指针操作
字符串
指针
21
结构体(一)
定义·声明·初始化·访问·结构体数组
结构体
复合
22
结构体(二)
结构体指针·传值与传址·作为函数参数
指针
参数
23
结构体(三)
嵌套·自引用·typedef类型重定义
嵌套
typedef
24
共用体与枚举
union·enum·与#define对比
共用体
枚举
25
预处理(一)
宏定义·带参宏·#与##运算符·宏与函数区别
预处理
宏
26
预处理(二)
#include·条件编译·防止头文件重复
包含
条件编译
27
文件操作(一)
FILE指针·fopen/fclose·打开模式
文件
IO
28
文件操作(二)
fgetc/fputc·fgets/fputs·fscanf/fprintf
读写
格式化
29
文件操作(三)
fread/fwrite·fseek/ftell/rewind·feof
二进制
定位
30
动态数据结构(一)
链表概念·单向/双向/循环·节点定义·创建遍历
链表
动态
31
动态数据结构(二)
单向链表插入/删除·释放链表
插入
删除
32
动态数据结构(三)
双向链表·循环链表·与数组对比
双向
循环
33
栈与队列
顺序/链式存储·实际应用场景
栈
队列
34
排序算法(一)
冒泡·选择·插入·时间复杂度
排序
基础
35
排序算法(二)
快速排序·归并排序·堆排序
高级
递归
36
查找算法
线性查找·二分查找·哈希概念
查找
二分
37
字符串处理进阶
atoi/atol/strtol·strtok·strstr/strchr
转换
分割
38
内存操作
memcpy/memmove/memset/memcmp·内存重叠
内存
拷贝
39
位运算进阶
加减乘除·权限管理·优化技巧
位运算
优化
40
const与volatile
const指针·volatile场景·组合使用
限定符
volatile
41
存储类别
auto/register/static/extern·链接属性
存储
链接
42
程序编译与链接
多文件编程·头文件设计·静态/动态库
编译
库
43
调试与测试
GDB断点/单步·assert·单元测试
调试
GDB
44
常见错误与陷阱
野指针·数组越界·内存泄漏·悬空指针
错误
陷阱
45
C标准库(一)
<stdio.h> <stdlib.h> rand/qsort
标准库
常用
46
C标准库(二)
<string.h> <math.h> <time.h>
数学
时间
47
数据结构综合应用
学生成绩管理系统·结构体+链表+文件+排序
项目
综合
48
面试高频题(一)
字符串反转·回文·第一个唯一字符·atoi
面试
字符串
49
面试高频题(二)
链表反转·合并有序链表·环检测·LRU缓存
链表
高频
50
面试高频题(三)
二分变种·Top K·括号匹配·内存池设计
算法
设计